#ifndef SYNC_H
#define SYNC_H

#include <windows.h>

namespace steam
{
	namespace smoke
	{
		struct Lock
		{
			Lock();

			~Lock();

			void lock();

			void unlock();

		private:
			CRITICAL_SECTION m_cs;
		};

		struct ScopedLock
		{
			ScopedLock(Lock& lock);

			~ScopedLock();

		private:
			Lock& m_lock;
		};
	}
}


#endif

